Over the last several years, developers have created hardware and software platforms for creating and manipulating digital images. These platforms allow computing systems to manipulate digital images in a variety of ways to modify one or more characteristics and then save or share the edited digital images. Indeed, conventional systems can edit a raster image or vector image by warping or otherwise deforming the image via control points (e.g., in a Bezier patch or a Bezier curve) corresponding to the digital image. Changing a position of a control point in such a warping/deformation operation alters a digital image by stretching or compressing the image in connection with the positions of the group of control points.
The amount of processing expense required to perform a warping/deformation operation on a digital image largely depends on the complexity of the operation. In particular, processing images using Bezier deformations according to conventional methods can become very processor intensive with higher-order deformation operations. For example, changing a position of a control point can cause an image editing application to calculate a deformation for a Bezier patch based on the degree of change of the position (or orientation) of the control point. With higher orders of control points in a single deformation operation for an image, the calculations required to deform the image increase significantly due to the additional computation required to evaluated higher-order polynomials on the various curves within the Bezier patch. As an example, performing a warp/deformation using cubic curves in a 4×4 grid requires approximately 4{circumflex over ( )}3 operations, while a 6×6 grid requires more than double the amount of computation (approximately 6{circumflex over ( )}2×4). Accordingly, using higher order deformation operations is impractical for many computing devices due to the computational expenses. Indeed, conventional systems typically utilize application programming interfaces for most drawing and rendering applications, such that cubic Bezier deformation is standardized across the applications.
Some conventional systems attempt to limit the computational expense associated with deformation operations by limiting the number of control points a user interacts with. For instance, some conventional systems limit deformation operations to a 4×4 grid of control points for deforming a Bezier patch corresponding to a digital image. While limiting the number of control points reduces the computational expense relative to using additional control points, doing so limits the flexibility of the warping/deformation operation by reducing overall control over the deformation process. Indeed, the 4×4 bicubic grid of these conventional systems includes only 16 control points with which a user can interact to deform an image. Even in higher order operations, however, conventional systems lack local control in the deformation process because manipulating control points for a Bezier patch on one side of the grid can still have a measurable effect across the entire Bezier patch due to the nature of the curves within a Bezier patch.
Additionally, in the case of vector images, conventional systems typically require a patch-based deformation to be performed on an entire image or artwork. For instance, using the conventional systems, a user would apply a deformation to an image by modifying a deformation patch that corresponds to the entirety of the image. Thus, the conventional systems are unable to perform localized deformation on only a portion of a vector image or artwork. Accordingly, conventional systems lack flexibility when performing deformation operations on vector images.
Conventional systems also lack flexibility and accuracy in relation to modifying digital text. For example, in response to a user request to place text along a path, conventional systems place the text directly on or along the path by modifying a rotation of individual characters in the text to follow the input path. This approach of placing text along a curve can result in crowded, overlapping characters and/or characters that are spread apart. Such a result may not accurately represent the intended aesthetics of the type font, thereby limiting the types of paths that a user may utilize. Accordingly, the conventional systems inefficiently utilize computing resources to produce inflexible and inaccurate deformation operations on digital images.